Data Manager を使ってクラウド環境のログを簡単に収集する!#Splunk Cloud

Data Manager を使ってクラウド環境のログを簡単に収集する!#Splunk Cloud

Clock Icon2024.10.22

Data Manager は、パブリッククラウド(AWS、Azure、Google Cloud)のサービスやリソースのデータを Splunk Cloud に取り込むためのツールです。

従来、ログ収集のためにデータパイプラインをセットアップしていましたが、DataManager を使うと各クラウドの IaaS テンプレートを展開して簡単にデータ収集を始められます。

  • AWS だと、AWS CloudFormation
  • Azure だと、Azure Resource Manager
  • Google Cloud だと、Terraform

本ブログでは Data Manager を使って、具体的にどんな流れでログを収集できるのかについて AWS を例にお伝えしていきます。

Data Manager のセットアップ

Data Manager は App の中にデフォルトでインストールされています。

Splunk Cloud のコンソールにアクセスし「App」→「Data Manager」を選択します。

以下の画面が表示されたら「New Data Input」を選択します。

Splunk_Sakuma_DataManager_20241022_1

次に以下の画面が表示されます。「AWS」を選択します。

Splunk_Sakuma_DataManager_20241022_2

そしたら、収集するデータソースを選択します。今回は「AWS Security Hub」を選択します。

Splunk_Sakuma_DataManager_20241022_3

次にアカウントの構成を選択します。今回は「Single Account」を選択しています。次へを選択。

Splunk_Sakuma_DataManager_20241022_4

次の画面が表示されます。ここで 1-3 までのステップがログ収集に必要な前提条件だということが分かります。

Splunk_Sakuma_DataManager_20241022_5

ステップ1は、ユーザの AWS 環境に信頼できる IAM ロールを作成する作業になります。

  • 以下画像を参考に「ロールポリシー」と「信頼関係」をコピーしておきます。「ロールポリシー」の方は、DATA_ACCOUNT_ID という項目にユーザ環境の AWS アカウント ID を置き換えておきます。

Splunk_Sakuma_DataManager_20241022_7

Splunk_Sakuma_DataManager_20241022_8

そしたら、AWS コンソールに移動して IAM ロールを作成していきます。「アクセス管理」→「ロール」を選択し、「ロールを作成」を選択します。

信頼されたエンティティタイプは「カスタム信頼ポリシー」を選択し、先ほど Splunk Cloud の Data Manager でコピーした「信頼関係」のポリシーを貼り付けます。

Splunk_Sakuma_DataManager_20241022_9

Splunk_Sakuma_DataManager_20241022_10

ロール名は、Splunk Cloud の Data Manager で指定されている通り「SplunkDMReadOnly」とします。

次にロールにアタッチするポリシーを作成します。作成したロールで「インラインポリシーを作成」を選択します。

Splunk_Sakuma_DataManager_20241022_12

ポリシーに Splunk Cloud の Data Manager でコピーした「ロールポリシー」を貼り付けます。

Splunk_Sakuma_DataManager_20241022_13

ちなみに許可されるのは次の通りです。

Splunk_Sakuma_DataManager_20241022_15

ポリシーの名前は特に指定が無いので、何でもいいです。「SplunkDM_Policy」としておきました。

ここまで設定出来たら、Data Manager の設定の続き(ステップ2)のために Splunk Cloud に戻ります。

ステップ2では、Data Manager で管理する名前、ログ連携する AWS アカウント ID、ログを保管するインデックスを設定します。

Splunk_Sakuma_DataManager_20241022_16

そしたら、ログ収集対象のリソースがあるリージョンを選択します。次に進みます。

Splunk_Sakuma_DataManager_20241022_17

すると、次の確認画面が表示されます。ここでもし問題がある場合は「Issue」の部分が黄色い三角マークで表示され、修正方法が表示されます。問題が無ければ次へ進みましょう。

Splunk_Sakuma_DataManager_20241022_18

データ収集に必要な CloudFormation(CFn)テンプレートを作成してくれます。数秒待機。

Splunk_Sakuma_DataManager_20241022_19

ステップ3では、CFn テンプレートを展開して、ログ収集に必要なリソースを作成していきます。「データ取り込みテンプレート」を選択してダウンロードします。

Splunk_Sakuma_DataManager_20241022_20

ここで注意があります。この CFn テンプレートは、他のリージョンで展開しなくてもいい IAM ロールなどを展開しておくために必ず最初に「us-east-1」で展開する必要があります。もし、他のリージョンにログソースがあるのであれば「us-east-1」で展開してから、後の手順で各リージョンに CFn テンプレートを展開していきます。

今回の場合は、ログ収集対象が「ap-northeast-1」に存在するので、「us-east-1」で1回。「ap-northeast-1」で1回。合計2回の CFn テンプレートを展開していきます。

では、AWS コンソールに戻り、リージョンを「us-east-1」に選択します。

CloudFormation の画面に移動し「スタックの作成」を選択します。先ほどダウンロードしたテンプレートファイルをアップロードします。

Splunk_Sakuma_DataManager_20241022_21

次に進み、スタック名を Data Manager で指定されている名称に合わせます。

Splunk_Sakuma_DataManager_20241022_22

タグも指定されている通りに入力します。それ以外はデフォルトのままスタックを作成してください。

Splunk_Sakuma_DataManager_20241022_23

「us-east-1」で作成完了させ、Data Manager の画面でセットアップを完了させます。

Data Manegement の画面に戻ってくるのですが、以下の様に Input の設定が正しくないと言われます。

まず現状確認しますと「Account Establishment Details」を見ると、「us-east-1」にはスタックが作成されていることが分かります。

Splunk_Sakuma_DataManager_20241022_24

ガイドに従って「AWS Setup Details」タブを選択します。(上記画像の赤枠部分)

すると、ガイド画面に再度 CFn テンプレートと、Data Manager 設定の時に選択した通りに展開すべきリージョンが表示されています。手順は「us-east-1」の時と同じですが今度は「ap-northeast-1」で展開します。

Splunk_Sakuma_DataManager_20241022_25

展開が完了したら、Data Manager の画面を再度更新してみてください。そうすると、ステータスが「Success」に変化しているかと思います。

Splunk_Sakuma_DataManager_20241022_26

これでセットアップは完了です!

作成されたリソースは、Data Manager ドキュメントの Summary of CloudFormation template resources でも記載されている通り、Lambda や Firehose が作成されており、エンドポイントは Splunk Cloud の HEC コレクターに向いています。HEC 用のトークンも作成されています。

Splunk_Sakuma_DataManager_20241022_28

Firehose でデモデータを配信してみました。Splunk Cloud 側でも正常にデータを収集出来ています。

Splunk_Sakuma_DataManager_20241022_29

また、データソースのヘルスステータスを見るダッシュボードが組み込まれており、以下のように表示してくれます。

Splunk_Sakuma_DataManager_20241022_27

フィルターも使えるので、時間や、最初に Data Manager で作成した時の名前を使って絞って確認することも出来ます。

まとめ

新しめの機能で、またネット上にもあまり画像付きの解説が無かったように思ったのでブログ化しました。
AWS だと、CloudWatch や Lambda、Firehose などを使ったりしてデータ収集していましたが、今後は Data Manager を使ってデータパイプラインを簡単に作成して、データ収集していただけるかと存じます。

参考元:Data Manager

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.